home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / MODULA_2 / 2394.ZIP / M2TOOLS1.ZIP / TESTENCR.MOD < prev    next >
Text File  |  1990-09-12  |  1KB  |  73 lines

  1. MODULE TestEncryption;
  2.  
  3.   FROM InOut IMPORT ReadString, WriteString, WriteLn, Read, Write;
  4.  
  5.   FROM Encrypt IMPORT GetKey, EncryptFile;
  6.  
  7.   FROM Streams IMPORT FileName, ExistFile;
  8.  
  9.   VAR
  10.     InputText : FileName;
  11.     Choice    : CHAR;
  12.  
  13.   PROCEDURE GetFile (VAR File : FileName) : BOOLEAN;
  14.  
  15.   BEGIN
  16.  
  17.     WriteString ("Enter the file name for encryption or decryption");
  18.     WriteLn;
  19.     WriteString ("File   - ");
  20.     ReadString (File);
  21.     WriteLn;  WriteLn;
  22.  
  23.     IF ExistFile (File) THEN
  24.       RETURN TRUE
  25.     ELSE
  26.       RETURN FALSE
  27.     END
  28.  
  29.   END GetFile;
  30.  
  31. BEGIN
  32.  
  33.   Write (14C);
  34.  
  35.   WriteString ("1. Encode file or 2. Quit? (1/2) : ");
  36.   Read (Choice);
  37.   WHILE (Choice <> '1') AND (Choice <> '2') DO
  38.     Read (Choice)
  39.   END;
  40.   Write (Choice);
  41.   WriteLn;  WriteLn;
  42.  
  43.   WHILE Choice <> '2' DO
  44.  
  45.     (* Input file to be changed *)
  46.     IF GetFile (InputText) THEN
  47.  
  48.       (* Get pseudo-key *)
  49.       WriteString ("Enter key : ");
  50.       GetKey (TRUE);
  51.  
  52.       (* Do encryption *)
  53.       EncryptFile (InputText);
  54.  
  55.     ELSE
  56.  
  57.       Write (7C);
  58.       WriteString ("ERROR - File does not exist")
  59.  
  60.     END; (* If existfile *)
  61.  
  62.     WriteLn;  WriteLn;  WriteLn;
  63.     WriteString ("1. Encode file or 2. Quit? (1/2) : ");
  64.     Read (Choice);
  65.     WHILE (Choice <> '1') AND (Choice <> '2') DO
  66.       Read (Choice)
  67.     END;
  68.     Write (Choice);
  69.     WriteLn;  WriteLn;
  70.  
  71.   END; (* While *)
  72.  
  73. END TestEncryption.